import { Interceptors } from "@/utils/network/interceptors";
import router from "@/router";
import { ElMessage, ElMessageBox } from "element-plus";

const baseUrl = "";
export class HttpService {
  public axios: any;

  constructor() {
    // 获取axios实例
    this.axios = new Interceptors().getInterceptors();
  }

  public get(params: any, url: string) {
    const resUrl = baseUrl + "/" + url;

    const body = {
      parameter: {
        data: params,
      },
    };

    return new Promise((resolve, reject) => {
      this.axios
        .get(url, {
          params: body,
          // headers: { isJwt: jwt },
        })
        .then((res: any) => {
          resolve(res);
        })
        .catch((err: any) => {
          reject(err.message);
        });
    });
  }

  public post(data: any, url: string) {
    const resUrl = baseUrl + "/" + url;
    const body = {
      data,
    };
    return new Promise((resolve, reject) => {
      this.axios
        .post(resUrl, body, {
          // headers: { isJwt: jwt },
        })
        .then((res: any) => {
          resolve(res);
        })
        .catch((err: any) => {
          reject(err.message);
        });
    });
  }

  /**
   *
   * @param res
   * @param resolve
   */
  // public resultHandle(res: any, resolve) {
  //   if (res.status > 0) {
  //     resolve(res.data);
  //   } else {
  //     this.errorHandle(res);
  //   }
  // }

  /**
   * 服务端状态处理,例如中断性异常,退出异常等等
   * @param res
   */
  // public errorHandle(res: any) {
  //   ElMessage.warning({ message: res.msg, type: "warning" }); // 统一谈服务端提示,我们提示统一由服务端提供
  //   // 状态码判断
  //   switch (res.status) {
  //     case -102:
  //       break;
  //     case -152:
  //       break;
  //     default:
  //     // console.log(other);
  //   }
  // }
}
// export default {
//   install(Vue: any) {
//     Vue.prototype.$http = new HttpService();
//   },
// };
